The present invention relates to the field of computer simulation of analog and mixed signal digital-analog physical circuits and systems, and more particularly to the reduction of a system of simultaneous equations describing the analog and mixed signal digital-analog physical circuits and systems to be simulated.
Hardware description languages such as VHDL-AMS allow a user to write simulation models of physical devices by expressing their behavior using statements of the language. Continuous time (often called analog) behavior is described by statements that express differential-algebraic equations. Such equations are called explicit equations.
When many instances of such models are connected together to form a hierarchical design, the explicit equations from each instance, together with implicit equations resulting from declarations and the interconnection of the instances, and equations supplied by the simulator, are combined into a system of simultaneous equations with many unknowns. Some implicit equations due to interconnections are a consequence of the conservation laws (Kirchhoff""s voltage and current laws in electrical systems; equivalent laws exist in other systems such as thermal, fluidic, etc.). The conservation laws require that the potential of all terminals connected to form a node be equal, and that the flow (in electrical systems, current) into each node sum up to zero.
It is known that for the system of simultaneous equations to be solvable there must be as many equations as there are unknowns. The system of simultaneous equations is typically very sparse (i.e., most equations in the system involve relatively few variables), and in most situations the system of simultaneous equations can be compacted (reduced in size). Compacting the systems of simultaneous equations is beneficial because the computational effort to solve a system of simultaneous equations is of the order nk, where n is the size of the system of simultaneous equations and k is a number larger than one that depends on the particular system of simultaneous equations. Therefore, reducing the size of the system of simultaneous equations provides for a more efficient solution, making the simulation more efficient.
There are known approaches, called tearing methods, that reduce a system of equations without significantly changing the sparsity of the system. These methods operate on fully assembled system of equations and identify certain unknowns as xe2x80x9cinput variablesxe2x80x9d and xe2x80x9coutput variablesxe2x80x9d of the system of equations. Input variables are those unknowns that either have fixed values or that depend on only other input variables. Output variables are those unknowns whose values do not feed back into the solution or that affect only other output variables. The identification of input variables and output variables allows those variables and their defining equations to be removed from the system of simultaneous equations, since input variables can be evaluated prior to the simultaneous solution, and output variables afterwards. But because tearing methods start with a fully assembled system of simultaneous equations, the effort required to reduce the size of the system of simultaneous equations is generally large.
Accordingly, a need exists for a way to reduce the size of a system of simultaneous equations by reducing a system of simultaneous equations based on individual models in the physical circuit or system before the complete system of simultaneous equations is assembled.
A simulator analyzes the behavior of analog and mixed signal digital-analog physical circuits and systems in a digital computer, using suitable models for each component in the physical circuit or system. According to the invention, sub-systems of simultaneous equations are assembled for each model. The variables in each sub-system of simultaneous equations are classified and the size of the sub-systems reduced. Finally, the system of simultaneous equations describing the physical circuit or system as a whole is assembled from the reduced sub-systems of simultaneous equations, and can be solved.